package com.lab.adapter;

import android.content.Context;
import android.view.View;
import android.widget.FrameLayout;

import com.lab.viewtemplate.BaseStructureViewInterface;


/**
 * Created by ak
 * 基础HolderView绑定器<br><br>
 * BaseHolderView生成注意事项:<br><br>
 * 1.BaseHolderView具体实现类务必提供:构造函数(Context context),在此构造函数中调用super(Context context, int layoutResId)或super(Context context, View view)<br><br>
 * 2.BaseHolderView尽量采用单独类实现,避免采用内部类方式,如采用内部类方式实现(非静态),则务必在外部类中提供默认无参构造函数
 */
public abstract class BaseHolderView extends FrameLayout implements BaseStructureViewInterface {

    protected Context mContext;

    public BaseHolderView(Context context) {
        super(context);
    }

    public BaseHolderView(Context context, int layoutResId) {
        super(context);
        this.mContext = context;
        inflate(context, layoutResId, this);
        initView(this);
    }

    public BaseHolderView(Context context, View view) {
        super(context);
        this.mContext = context;
        addView(view);
        initView(this);
    }

    /**
     * 初始化HolderView内部控件
     *
     * @param rootView 顶层View
     */
    public abstract void initView(View rootView);

    /**
     * 绑定数据
     *
     * @param data     数据源
     * @param position 数据位置
     */
    public abstract void bindData(IAdapterData data, int position);


    @Override
    public void setArround(boolean[] arroundInfo) {

    }
}
